Modern computing devices can enable a user to provide input through a variety of physical input devices, many of which depart from the traditional keyboard-and-mouse metaphor. For example, modern computing devices can comprise a touchscreen, tablet, trackpad or other like physical-press-based input peripheral. As another example, some modern computing devices can comprise an image capture peripheral, such as a video camera or a still-frame camera, that can capture a user's movements and, thereby, enable the computing device to translate those movements into user input.
The processes executing on such modern computing devices, however, may not necessarily be optimized for receiving input through such a variety of input peripherals. For example, the user interface presented by many applications, operating systems, components, or other collections of computer-executable instructions, can make extensive use of the ubiquitous click-and-drag metaphor that can be difficult to implement using certain input peripherals. Consequently, computing devices that receive user input through alternative input peripherals, such as a touchscreen, have implemented interpretational mechanisms that seek to aid the user by first identifying what the user is attempting to accomplish and only then pass along the user's input, often in a modified manner, to the application programs, operating systems and other computer-executable instructions executing on such computing devices. Such interpretation mechanisms result in a delay that can be disconcerting to users.
One example of such a delay is in the context of panning, or moving a graphical user interface element that is displayed to the user. In such a case, existing interpretation mechanisms will delay in passing along the user's input to application programs until the interpretation mechanisms can determine whether the user wants to perform an activation, pan in a free-form manner, or whether the user wants to pan linearly, such as straight up-and-down or straight left-and-right. Thus, when a user utilizes a computing device with, for example, a touchscreen, presses down on the touchscreen, such as with their finger, and begins to move their finger, the interpretation mechanisms will wait until the user's finger has moved a sufficient distance before passing along any of the user's input to an application program or the operating system. Only after a user's finger has moved a sufficient distance can the existing interpretation mechanisms intelligently determine whether the user is attempting to perform an activation, pan in a freeform manner, or whether, even though the user's finger is not moving precisely in a straight line, the user seeks to pan linearly. If the interpretation mechanisms determine that the user is attempting to pan linearly, the user input that they provide, such as to application programs executing on that computing device, can be user input that indicates a perfectly linear pan even if the user's finger is not moving precisely in a straight line. However, from the perspective of the user, their finger will have moved at least some distance before there is any movement at all of the corresponding graphical user interface element. As indicated, such a delay can be disconcerting.